package com.qianxun.module.datasource1.admin.service;

import com.qianxun.module.datasource1.admin.dto.SysDataModifyLockDTO;
import com.qianxun.module.datasource1.admin.entity.SysDataModifyLock;
import com.baomidou.mybatisplus.extension.service.IService;

/**
* com.zch.admin.base.entity.SysDataModifyLock模型业务接口
* @author: admin
* @date: 2019-12-02
* @version: 1.0.0
*/
public interface SysDataModifyLockService extends IService<SysDataModifyLock>{

    /**
     * 检测指定数据key是否上锁
     * @param dataKey
     */
    void checkLocked(String dataKey);

    /**
     * 删除指定数据的锁
     * @param query 查询参数
     */
    void removeByKey(SysDataModifyLockDTO query);

    /**
     * 添加数据锁
     * @param query 查询参数
     */
    void add(SysDataModifyLockDTO query);

    /**
     * 获取指定dataKey的数据
     * @param dataKey
     * @return
     */
    SysDataModifyLock getByDataKey(String dataKey);

    /**
     * 更新数据锁中存在的指定管理员加锁数据
     * @param createKey 创建管理员的id值
     * @param newPassword 加密后的新密码
     */
    void updatePasswordByCreateKey(String createKey, String newPassword);
}